package com.gooluke.shorten.service;

import com.gooluke.shorten.model.BatchDeleteRequest;
import com.gooluke.shorten.model.GenerateRequest;
import com.gooluke.shorten.model.RenewRequest;
import com.gooluke.shorten.model.UpdateShortUrlRequest;
import com.gooluke.shorten.model.vo.CreateShortUrlVO;

public interface ShortUrlService {

    /**
     * 生成短链
     */
    CreateShortUrlVO createShortUrl(GenerateRequest request);

    /**
     * 续期短链
     */
    void renewShortUrl(String code, RenewRequest request);

    /**
     * 批量删除短链
     */
    void batchDelete(BatchDeleteRequest request);

    /**
     * 更新短链信息
     */
    void updateShortUrl(UpdateShortUrlRequest request);

    /**
     * 归档短链
     */
    void archiveShortUrl(String code);

}
